// ++++++++++++++++++++++++++++++++++++++++
// 《零基础Go语言算法实战》源码
// ++++++++++++++++++++++++++++++++++++++++
// Author:廖显东（ShirDon）
// Blog:https://www.shirdon.com/
// Gitee:https://gitee.com/shirdonl/goAlgorithms.git
// Buy link :https://item.jd.com/14101229.html
// ++++++++++++++++++++++++++++++++++++++++

package main

import (
	"fmt"
)

func main() {
	n := 6

	// 创建通道
	out := make(chan int)

	//启动goroutine
	go multiplyByTwo(n, out)

	// 在此通道上收到任何输出后，将其打印到控制台并继续
	fmt.Println(<-out)
}

// 这个函数现在接受一个通道作为它的第2个参数...
func multiplyByTwo(num int, out chan<- int) {
	result := num * 2
	//... 并将结果通过管道传递给它
	out <- result
}

//$ go run channel1.go
//12
